//
// Created by baigui on 21-7-27.
//

#ifndef SIMPLE_PLAYER_VIDEODECODER_H
#define SIMPLE_PLAYER_VIDEODECODER_H

#include <block.h>
#include "MediaPlayer.h"
#include "mediaStream.h"

static int DECODER_QUEUE_BUFFER = 1;
static int DECODER_DEQUEUE_OUTPUT = 2;

class VideoDecoder : public BaseModule{
public:

    VideoDecoder(weak_ptr<MediaPlayer> player);
    ~VideoDecoder();

    virtual void requestPicture() = 0;

    virtual void QueueBuffer(block_t *p) = 0;
    bool start() override;

private:

protected:
    BlockFifo* blockFifo;
};

#endif //SIMPLE_PLAYER_VIDEODECODER_H
